#ifndef __CONSTANTES_H__
#define __CONSTANTES_H__

/** Constantes relacionadas a argumentos del programa **/
#define CANTIDAD_ARGUMENTOS_NECESARIOS    2
#define POSICION_ARGUMENTO_NOMBRE_ARCHIVO 1

/** Maxima longitud linea archivo **/
#define MAX_LONGITUD_LINEA 256

/** Maxima longitud de un dato **/
#define MAX_DATO 256

/** Maxima cantidad tokens **/
#define MAX_TOKEN 256

/** Maxima longitud mensaje error **/
#define MAX_LONGITUD_MENSAJE_ERROR 256

/** Codigo de ejecucion OK **/
#define CODIGO_OK 0

/** Caracter vacio */
#define CARACTER_VACIO ' '

/** Caracter fin de linea **/
#define CARACTER_FIN_LINEA '\n'

/** Se usa para corregir el codigo de error para obtener el mensaje
    desde la funcion auxiliar **/
#define CORRECCION_CANTIDAD_ERRORES 5

/** Codigos de errores **/
#define CODIGO_ERROR_CANTIDAD_ARGUMENTOS_INVALIDA 1
#define CODIGO_ERROR_ARCHIVO_INEXISTENTE          2
#define CODIGO_ERROR_TOKEN_INVALIDO               3

/** Mensaje errores correspondientes a cada codigo **/
#define MENSAJE_CANTIDAD_ARGUMENTOS_INVALIDA "La cantidad de argumentos con la que se invoco al programa es invalida"
#define MENSAJE_ARCHIVO_INEXISTENTE          "El archivo que se trato de procesar no existe"


/** Valores Booleanos **/
typedef enum {TRUE,FALSE} tboolean;

#endif
